home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / sgi.faq.inventor < prev    next >
Encoding:
Internet Message Format  |  1994-05-07  |  17.0 KB

  1. Subject: SGI inventor Frequently Asked Questions (FAQ)
  2. Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
  3. From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  4. Date: 6 May 1994 06:00:39 GMT
  5.  
  6. Archive-name: sgi/faq/inventor
  7. Last-modified: Sun May  1 10:47:20 CDT 1994
  8.  
  9.     SGI inventor Frequently Asked Questions (FAQ)
  10.  
  11. This is one of the Silicon Graphics FAQ series, which consists of:
  12.  
  13.     SGI admin FAQ - IRIX system administration
  14.     SGI apps FAQ - Applications & compilers
  15.     SGI graphics FAQ - Graphics and user environment customization
  16.     SGI hardware FAQ - Hardware
  17.     SGI inventor FAQ - IRIS Inventor
  18.     SGI misc FAQ - Introduction & miscellaneous information
  19.     SGI performer FAQ - IRIS Performer
  20.     SGI pointer FAQ - Pointer to the other FAQs
  21.  
  22. Read the misc FAQ for information about the FAQs themselves.  Each FAQ
  23. is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
  24. newsgroups (whose purpose is to store FAQs) twice per month.  If you
  25. can't find one of the FAQs with your news program, you can get it by
  26. anonymous FTP from one of these sites:
  27.  
  28.     rtfm.mit.edu:/pub/usenet/comp.sys.sgi.misc/
  29.     rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
  30.     rtfm.mit.edu:/pub/usenet/comp.answers/sgi/faq/
  31.     viz.tamu.edu:/pub/sgi/faq/
  32.  
  33. Note that rtfm.mit.edu is home to many other FAQs and informational
  34. documents, and is a good place to look if you can't find an answer
  35. here. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with
  36. the command 'send usenet/news.answers/ftp-list/faq' on a line by itself
  37. in the text, and it will send you a document describing how to FTP by
  38. mail. You can also read a hypertext version of the FAQs at
  39.  
  40.     http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
  41.  
  42. The SGI FAQs are freely distributable and we encourage wide circulation.
  43. The contents are accurate as far as we know, but the usual disclaimers
  44. apply. Please send additions and changes to sgi-faq@viz.tamu.edu.
  45.  
  46. Topics covered in this FAQ:
  47. ---------------------------
  48.    -1- What is Open Inventor?
  49.    -2- What is IRIS Inventor?
  50.    -3- Is Inventor a format for 3D data?
  51.    -4- Can I use Inventor to create 3D objects?
  52.    -5- Is Inventor a user interface toolkit?
  53.    -6- Is there a performance cost using a software layer on top of GL?
  54.    -7- Does Inventor require C++?
  55.    -8- Does Inventor work with the GNU C++ compiler?
  56.    -9- Does Inventor have a Fortran or Ada API?
  57.   -10- Where can I get detailed, technical information on Inventor?
  58.   -11- How much does Inventor cost?
  59.   -12- How can I order Inventor software and/or documentation?
  60.   -13- How can I learn Inventor Programming?
  61.   -14- What version of Open Inventor runs on which version of IRIX?
  62.   -15- Why isn't Open Inventor available on the VGX/PI/GTX or GT?
  63.   -16- What new features are in Open Inventor that weren't in IRIS
  64.        Inventor?
  65.   -17- Will my IRIS Inventor programs stop working if I install Open
  66.        Inventor?
  67.   -18- How hard is it to port from IRIS Inventor to Open Inventor?
  68.   -19- When I compile my Inventor program, I get an error in
  69.        SoDebugError.h.
  70.   -20- What version of IRIS Inventor runs on which version of IRIX?
  71.   -21- Will I be automatically upgraded to Open Inventor if I have IRIS
  72.        Inventor?
  73.   -22- Why do I get errors compiling the Inventor sample programs?
  74.  
  75. ----------------------------------------------------------------------
  76.  
  77. Subject:    -1- What is Open Inventor?
  78. Date: 30 Apr 94 15:45:00 CDT
  79.  
  80. Open Inventor is an object-oriented 3D toolkit offering a comprehensive
  81. solution to interactive graphics programming problems. It presents a
  82. programming model based on a 3D scene database that dramatically simplifies
  83. graphics programming. It includes a rich set of objects such as cubes,
  84. polygons, text, materials, cameras, lights, trackballs, handle boxes, 3D
  85. viewers, and editors that speed up your programming time and extend your
  86. 3D programming capabilities. 
  87.  
  88. Open Inventor: 
  89.     o is built on top of OpenGL 
  90.     o defines a standard file format for 3D data interchange 
  91.     o introduces a simple event model for 3D interaction 
  92.     o provides animation objects called Engines 
  93.     o provides high performance object picking 
  94.     o is window system and platform independent 
  95.     o supports PostScript printing 
  96.     o encourages programmers to create new customized objects 
  97.     o is fun to use 
  98.  
  99. ------------------------------
  100.  
  101. Subject:    -2- What is IRIS Inventor?
  102. Date: 30 Apr 94 15:45:00 CDT
  103.  
  104. IRIS Inventor was the first release of Inventor; it is also known as
  105. Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of IRIS
  106. GL rather than OpenGL, and has fewer features. 
  107.  
  108. ------------------------------
  109.  
  110. Subject:    -3- Is Inventor a format for 3D data?
  111. Date: 30 Apr 94 15:45:00 CDT
  112.  
  113. Inventor defines a powerful, extensible format for 3D objects and scenes.
  114. The Inventor format is the standard for 3D objects on Silicon Graphics
  115. machines, and may become the standard for all machines. 
  116.  
  117. However, Inventor is more than a 3D object file format; it is a complete
  118. toolkit for writing interactive, 3D applications. 
  119.  
  120. ------------------------------
  121.  
  122. Subject:    -4- Can I use Inventor to create 3D objects?
  123. Date: 30 Apr 94 15:45:00 CDT
  124.  
  125. Inventor is for programmers writing 3D applications, and does not directly
  126. provide any way for users to create 3D objects. Several Inventor applications
  127. have been written that create 3D objects.
  128.  
  129. Showcase 3.0, which is bundled with IRIX, is a fairly simple example.  A much
  130. more sophisticated modeller called Movieola built on top of Inventor is
  131. available from Radiance Software International. 
  132.  
  133. ------------------------------
  134.  
  135. Subject:    -5- Is Inventor a user interface toolkit?
  136. Date: 30 Apr 94 15:45:00 CDT
  137.  
  138. Yes and no. Inventor contains mostly 3D objects. There is little in the way
  139. of conventional user interface objects such as buttons, dialogs, and menus.
  140. However, Inventor includes a full-fledged event model, a framework designed
  141. for 2D or 3D user interaction, and some manipulator objects for 3D user
  142. interface building. Note that the Inventor Xt Component and Utility Library
  143. includes some traditional 2D user interface widgets. 
  144.  
  145. ------------------------------
  146.  
  147. Subject:    -6- Is there a performance cost using a software layer on
  148.                 top of GL?
  149. Date: 30 Apr 94 15:45:00 CDT
  150.  
  151. Sometimes. Note that few GL programs achieve peak graphics performance. This
  152. is because most applications have natural application overhead, and also
  153. because many programmers lack a thorough understanding of the details and
  154. eccentricities of GL. If you are writing a simple display-only, immediate-mode
  155. GL program, then it will run faster using straight GL, but not much. However,
  156. if your program has scene traversal, interactivity, picking, bounding box
  157. calculations, and other object space tasks, then Inventor will perform better
  158. for you. This is because Inventor is specially tuned to make optimal use of
  159. GL on each SGI machine. Furthermore, Inventor supports render caching which
  160. results in peak GL performance in most cases. 
  161.  
  162. We have found that in many cases, Inventor programs run FASTER than the
  163. original GL program, and that the programmer productivity increases easily
  164. outweigh the overhead of the toolkit. 
  165.  
  166. ------------------------------
  167.  
  168. Subject:    -7- Does Inventor require C++?
  169. Date: 30 Apr 94 15:45:00 CDT
  170.  
  171. No. You can use the C API and never see or use C++. However, subclassing to
  172. extend the toolkit does require C++. 
  173.  
  174. ------------------------------
  175.  
  176. Subject:    -8- Does Inventor work with the GNU C++ compiler?
  177. Date: 30 Apr 94 15:45:00 CDT
  178.  
  179. No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and SGI's C++
  180. compiler produce incompatible code, and Silicon Graphics does not ship an
  181. Inventor library compatible with GNU C++. 
  182.  
  183. ------------------------------
  184.  
  185. Subject:    -9- Does Inventor have a Fortran or Ada API?
  186. Date: 30 Apr 94 15:45:00 CDT
  187.  
  188. No. 
  189.  
  190. ------------------------------
  191.  
  192. Subject:   -10- Where can I get detailed, technical information on
  193.                 Inventor?
  194. Date: 30 Apr 94 15:45:00 CDT
  195.  
  196. The Inventor Mentor, written by Josie Wernecke, is published by Addison-Wesley
  197. and is available in technical bookstores (ISBN 0-201-62495-8). 
  198.  
  199. ------------------------------
  200.  
  201. Subject:   -11- How much does Inventor cost?
  202. Date: 30 Apr 94 15:45:00 CDT
  203.  
  204. If you want to write Inventor applications on SGI machines, you need the
  205. Inventor developer's option. This option costs $995 for the Open Inventor
  206. release and $495 for the IRIS Inventor releases. There are no royalties for
  207. distributing applications based on Inventor. 
  208.  
  209. Every SGI machine is shipped with the libraries needed to run Inventor
  210. applications (they are part of the inventor_eoe installation subsystem);
  211. users that want to run Inventor applications on SGI machines do not need
  212. to pay anything extra. 
  213.  
  214. ------------------------------
  215.  
  216. Subject:   -12- How can I order Inventor software and/or documentation?
  217. Date: 30 Apr 94 15:45:00 CDT
  218.  
  219. Call your local SGI sales representative or 1-800-800-7441 to order. 
  220.  
  221. ------------------------------
  222.  
  223. Subject:   -13- How can I learn Inventor Programming?
  224. Date: 30 Apr 94 15:45:00 CDT
  225.  
  226. SGI Technical Education offers a week-long course in Inventor Programming.
  227. Call 1-800-800-4SGI to sign up. 
  228.  
  229. ------------------------------
  230.  
  231. Subject:   -14- What version of Open Inventor runs on which version of
  232.                 IRIX?
  233. Date: 30 Apr 94 15:45:00 CDT
  234.  
  235. Inventor 2.0 runs on IRIX 5.2 and higher only. 
  236.  
  237. ------------------------------
  238.  
  239. Subject:   -15- Why isn't Open Inventor available on the VGX/PI/GTX or
  240.                 GT?
  241. Date: 30 Apr 94 15:45:00 CDT
  242.  
  243. Open Inventor requires OpenGL, which is not currently available on older
  244. SGI machines. 
  245.  
  246. ------------------------------
  247.  
  248. Subject:   -16- What new features are in Open Inventor that weren't in
  249.                 IRIS Inventor?
  250. Date: 30 Apr 94 15:45:00 CDT
  251.  
  252. Some of the main features that are new with Open Inventor are: 
  253.  
  254.    Open Inventor Licensing 
  255.       Open Inventor 2.0 represents the first release of Inventor that
  256.       is licensed to third parties to run on other platforms (e.g., Sun,
  257.       HP). 
  258.    The Inventor Mentor and The Inventor Toolmaker 
  259.       Since Open Inventor has been licensed to run on other
  260.       platforms, the programming guides have been published and
  261.       distributed by Addison-Wesley Publishing Company. The
  262.       books are typically available through bookstores that offer a
  263.       good technical book selection. The Inventor Mentor is volume
  264.       I of the programming guide and describes the fundamentals
  265.       of Inventor programming (ISBN 0-201-62495-8). The
  266.       Inventor Toolmaker is volume II and provides advanced
  267.       information for programmers who want to extend Inventor. 
  268.    Automatic caching 
  269.       Open Inventor supports intelligent, automatic caching on the
  270.       parts of the database that are not changing. Previously,
  271.       caching was either `on' or `off' (set at SoSeparator nodes).
  272.       Inventor 2.0 supports a third setting, `auto'. This
  273.       SIGNIFICANTLY improves performance and simplifies
  274.       programming. 
  275.    Error handling 
  276.       Inventor now supports a formal error handling system. Note
  277.       that the API was not affected by this change. All Inventor
  278.       error messages are now posted to an SoError class. The
  279.       application can supply its own error handlers, thus making it
  280.       possible to route error messages to dialogs, as well as stderr or
  281.       stdout. All handlers are called by the SoError::handleError()
  282.       method. When debugging, you can set a breakpoint on this
  283.       method to stop right before an error is handled. 
  284.    Geometry primitives and SoCallbackAction 
  285.       A new feature has been added to the generic Inventor
  286.       traversal action, SoCallbackAction, that allows for shapes to
  287.       return primitives (triangles, lines, points, normals, texture
  288.       coords, etc.) describing the object. 
  289.    Naming 
  290.       Nodes, paths, and engines can have names (strings)
  291.       associated with them. There are methods on
  292.       SoBase::setName() and getName() to set/get names. To search
  293.       for objects by name, see SoNode::getByName(),
  294.       SoPath::getByName(), and SoEngine::getByName(). Also, the
  295.       SoSearchAction can now search based on the name. 
  296.    OpenGL rendering 
  297.       Open Inventor 2.0 uses OpenGL for all rendering; there are no
  298.       calls to Iris GL in Inventor 2.0. If you have written derived
  299.       node classes in 1.0, the Iris GL code must be re-written to
  300.       OpenGL. 
  301.    Printing 
  302.       Printing has been completely reimplemented using OpenGL
  303.       rendering to an off-screen image. All rendering features can
  304.       now be printed (e.g. textures and transparency). 
  305.    Render Culling 
  306.       Inventor now supports object level culling to the viewport.
  307.       Culling, like caching, is controlled by SoSeparators. 
  308.    Unknown nodes 
  309.       Inventor 2.0 reads unrecognized node classes from file and
  310.       attempts to use them. When an unknown class is read,
  311.       Inventor will search for an accompanying DSO file and use it,
  312.       (uses environment variable LD_LIBRARY_PATH to search
  313.       for file classname.so) If none is found, an SoUnknownNode or
  314.       SoUnknownEngine is created and used instead. 
  315.  
  316.       Inventor 2.0 also supports a special option for nodes called
  317.       alternateRep. It can store a scene graph composed of standard
  318.       Inventor nodes which will be rendered as a stand-in for your
  319.       unrecognized node. During writing, the node or engine is
  320.       written back out. Note that this mechanism works only with
  321.       Inventor 2.0 files; unrecognized nodes in an Inventor 1.0 file
  322.       will still generate a read error. This mechanism allows user
  323.       subclassed nodes to be exportable, renderable, and re- usable.
  324.  
  325.    SoEngine 
  326.       A new class of objects used for animation and behavior.
  327.       Engines are lightweight objects that are connected between
  328.       nodes, the clock, and other engines to form interesting
  329.       behaviorial objects (e.g. spinning windmill). Engines can be
  330.       written to file along with the 3d scene. 
  331.  
  332. ------------------------------
  333.  
  334. Subject:   -17- Will my IRIS Inventor programs stop working if I install
  335.                 Open Inventor?
  336. Date: 30 Apr 94 15:45:00 CDT
  337.  
  338. No. The Inventor 2.0 run-time system (inventor_eoe) contains a complete set
  339. of compatibility libraries that will allow existing IRIS Inventor applications
  340. to continue to work. If necessary, it is possible to install both the Inventor
  341. 2.0 and Inventor 1.1.2 development environments on the same machine; see the
  342. Inventor 2.0 release notes for details. 
  343.  
  344. ------------------------------
  345.  
  346. Subject:   -18- How hard is it to port from IRIS Inventor to Open
  347.                 Inventor?
  348. Date: 30 Apr 94 15:45:00 CDT
  349.  
  350. Most Inventor programs will be fairly easy to port. The Inventor 2.0 release
  351. notes contain detailed information on converting your application. Most of your
  352. porting job will be fixing minor syntax changes (e.g. some length() methods
  353. were renamed getLength() for consistency with the rest of the toolkit) and
  354. fixing #include lines for files under /usr/include/Inventor that were moved
  355. around (e.g. all of the Xt components are now under /usr/include/Inventor/Xt). 
  356.  
  357. Inventor programs that contain a lot of IRIS GL code or that made extensive
  358. use of Inventor subclassing will be more difficult to port, since they will
  359. have to be ported to OpenGL and since the internal structure of Inventor
  360. underwent some major changes. 
  361.  
  362. ------------------------------
  363.  
  364. Subject:   -19- When I compile my Inventor program, I get an error in
  365.                 SoDebugError.h.
  366. Date: 30 Apr 94 15:45:00 CDT
  367.  
  368. You, or something you #include, are #include'ing the IRIS GL header file
  369. (gl/gl.h). It does: "#define WARNING 2", which conflicts with the enum value
  370. called "WARNING" in SoDebugError. You cannot mix Open Inventor with IRIS GL
  371. anyway (because you cannot mix OpenGL with IRIS GL), so you should fix your
  372. program so it doesn't try to #include <gl/gl.h> it should use <GL/gl.h> the
  373. OpenGL include file. 
  374.  
  375. ------------------------------
  376.  
  377. Subject:   -20- What version of IRIS Inventor runs on which version of
  378.                 IRIX?
  379. Date: 30 Apr 94 15:45:00 CDT
  380.  
  381.  
  382.        IRIX     IRIS Inventor Version
  383.      --------------------------------
  384.       3.3.*   | (Inventor is not available for IRIX 3.*)
  385.       4.0.*   | 1.0.1
  386.       5.0.1   | (bad release... do not use)
  387.       5.1.*   | 1.1.2
  388.       5.2.*   | Open Inventor 2.0 (1.1.2 on VGX/GTX/GT/PI)
  389.  
  390. ------------------------------
  391.  
  392. Subject:   -21- Will I be automatically upgraded to Open Inventor if I
  393.                 have IRIS Inventor?
  394. Date: 30 Apr 94 15:45:00 CDT
  395.  
  396. Customers with software maintenance contracts that have purchased the
  397. Inventor 1.0 developer's option will receive the Inventor 2.0 developer's
  398. option when they receive IRIX 5.2. 
  399.  
  400. ------------------------------
  401.  
  402. Subject:   -22- Why do I get errors compiling the Inventor sample
  403.                 programs?
  404. Date: 30 Apr 94 15:45:00 CDT
  405.  
  406. Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.* installed
  407. on your system, you must specify the -v2 flag to compile Inventor programs. 
  408.  
  409. Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*. 
  410.  
  411. ------------------------------
  412.  
  413. End of sgi/faq/inventor Digest
  414. ******************************
  415. -- 
  416. The SGI FAQ group                                sgi-faq@viz.tamu.edu
  417. Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
  418.  
  419.